#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import wx
import MySQLdb


# nuevo 
# Genero una ventana
class Ventana (wx.App):
    def OnInit(self):
        self.db=MySQLdb.connect(host='localhost', user='agustin', passwd='agustin', db='agustin')
        # Panel donde se apoyan los widgets
        self.ventana = wx.Frame (parent = None, title = 'Ingreso', size = (500,350), pos = (300,200))
        panel = wx.Panel (self.ventana, -1)
        self.ventana.CenterOnScreen()
        
        # Apellido: Ingreso
        t_apellido = wx.StaticText (panel, -1, u'Apellido', pos = (20,25))
        self.i_apellido = wx.TextCtrl (panel, -1, u'', size = (300,30),  pos = (170,20))
        self.i_apellido.SetFocus()
        
        # Nombre: Ingreso
        t_nombre = wx.StaticText (panel, -1, u'Nombre', pos = (20,65))
        self.i_nombre = wx.TextCtrl (panel, -1, u'', size = (300,30),  pos = (170,60))
        
        # Posición: Desplegable
        t_sexo = wx.StaticText (panel, -1, u'Sexo', pos = (20,105))
        l_sexo = ['M', 'F']
        self.d_sexo = wx.ComboBox (panel, -1, u'F', (170,100) , (300,30), l_sexo, wx.CB_DROPDOWN|wx.CB_READONLY)
        
        # Correo electrónico
        t_correo = wx.StaticText (panel, -1, u'Correo Electrónico', pos = (20,145))
        self.i_correo = wx.TextCtrl (panel, -1, u'', size = (300,30),  pos = (170,140))
        
        # Organismo: Ingreso
        t_organismo = wx.StaticText (panel, -1, u'Organismo', pos = (20,180))
        self.i_organismo = wx.TextCtrl (panel, -1, u'', size = (300,30),  pos = (170,180))
        
        # Cargo: Ingreso
        t_cargo = wx.StaticText (panel, -1, u'Cargo', pos = (20,225))
        self.i_cargo = wx.TextCtrl (panel, -1, u'', size = (300,30),  pos = (170,220))

        #Telefono
        t_telefono = wx.StaticText (panel, -1, u'Telefono', pos = (20,265))
        self.i_telefono = wx.TextCtrl (panel, -1, u'', size = (300,30),  pos = (170,260))
        
        # Aceptar/Cancelar: Botones
        b_aceptar = wx.Button (panel, -1, u'&Aceptar', size = (-1,-1), pos = (300,300))
        b_cancelar = wx.Button (panel, -1, u'&Cancelar', size = (-1,-1), pos = (400,300))
        self.Bind(wx.EVT_BUTTON, self.OnAceptarBoton, b_aceptar)
        self.Bind(wx.EVT_BUTTON, self.OnCancelarBoton, b_cancelar)
        
        self.ventana.Show()
        return True
    
    # Aceptar: Escribir los datos en un archivo txt. con el nombre de el título
    def OnAceptarBoton(self, event):
        
        apellido = self.i_apellido.GetValue()
        nombre = self.i_nombre.GetValue()
        sexo = self.d_sexo.GetValue()
        correo = self.i_correo.GetValue()
        organismo = self.i_organismo.GetValue()
        cargo = self.i_cargo.GetValue()
        tel = self.i_telefono.GetValue()
        c=self.db.cursor()
        c.execute('''INSERT INTO evento (apellido, nombre, sexo, correo, organismo, cargo, tel) VALUES (%s, %s, %s, %s, %s, %s, %s)''' , (apellido, nombre, sexo, correo, organismo, cargo, tel))
        c.close()
        
        

        
        # Importar pdf.
        
        
        # Borrar: Volver a ventana en blanco.
        

        wx.MessageBox (u'Los datos se han ingresado correctamente')
        apellido = self.i_apellido.SetValue('')
        nombre = self.i_nombre.SetValue('')
        sexo = self.d_sexo.SetValue('')
        correo = self.i_correo.SetValue('')
        organismo = self.i_organismo.SetValue('')
        tel = self.i_telefono.SetValue('')
        cargo = self.i_cargo.SetValue('')    # Cancelar: se cierra la ventana        
    def OnCancelarBoton(self, event):
        wx.MessageBox (u'¿Realmente desea cancelar la operación?', u'Atención', wx.CANCEL|wx.ICON_INFORMATION, None)
        self.ventana.Destroy()

        
programa = Ventana()
programa.MainLoop() 


        

